package com.settlement.system.service;

import com.settlement.system.common.exception.ServiceException;
import com.settlement.system.model.entity.common.TblUnificationBillDetail;
import com.settlement.system.model.entity.common.TblUnificationBillSummary;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * 统一账单明细汇总 服务类
 * @author xiaochuan
 * @since 2021-01-20
 */

public interface ITblUnificationBillSummaryService extends IBaseService {
    /**
     * 获取合计
     *
     * @param params 请求参数
     * @return
     * @throws ServiceException
     */
    public TblUnificationBillSummary getFoot(Map<String, Object> params) throws ServiceException;

    String checkBeforeDelete(List<TblUnificationBillSummary> deleteList) throws ServiceException;

    @Transactional(rollbackFor = Exception.class)
    void deleteNoNcSummaryByCondition(Map<String, Object> params) throws ServiceException;

    String produceNc(Map<String, Object> params) throws ServiceException;

    String revokeNc(Map<String, Object> params) throws ServiceException;

    String checkBeforeCostShare(Map<String, Object> params) throws ServiceException;

    String costShare(Map<String, Object> params) throws ServiceException;

    List<String> selectShareStatus(Map<String, Object> params) throws ServiceException;

    List<String> selectAccountStatusOfCostShare(Map<String, Object> params) throws ServiceException;
}

